/**
 * jQuery EasyUI 1.4
 * 
 * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.
 * 
 * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt To use it
 * on other terms please contact us at info@jeasyui.com
 * 
 */
(function($) {
	function _1(_2) {
		var _3 = 0;
		if (_2.selectionStart) {
			_3 = _2.selectionStart;
		} else {
			if (_2.createTextRange) {
				var _4 = _2.createTextRange();
				var s = document.selection.createRange();
				s.setEndPoint("StartToStart", _4);
				_3 = s.text.length;
			}
		}
		return _3;
	}
	;
	function _5(_6, _7, _8) {
		if (_6.selectionStart) {
			_6.setSelectionRange(_7, _8);
		} else {
			if (_6.createTextRange) {
				var _9 = _6.createTextRange();
				_9.collapse();
				_9.moveEnd("character", _8);
				_9.moveStart("character", _7);
				_9.select();
			}
		}
	}
	;
	function _a(_b) {
		var _c = $.data(_b, "timespinner").options;
		$(_b).addClass("timespinner-f").spinner(_c);
		var _d = _c.formatter.call(_b, _c.parser.call(_b, _c.value));
		$(_b).timespinner("initValue", _d);
	}
	;
	function _e(e) {
		var _f = e.data.target;
		var _10 = $.data(_f, "timespinner").options;
		var _11 = _1(this);
		for ( var i = 0; i < _10.selections.length; i++) {
			var _12 = _10.selections[i];
			if (_11 >= _12[0] && _11 <= _12[1]) {
				_13(_f, i);
				return;
			}
		}
	}
	;
	function _13(_14, _15) {
		var _16 = $.data(_14, "timespinner").options;
		if (_15 != undefined) {
			_16.highlight = _15;
		}
		var _17 = _16.selections[_16.highlight];
		if (_17) {
			var tb = $(_14).timespinner("textbox");
			_5(tb[0], _17[0], _17[1]);
			tb.focus();
		}
	}
	;
	function _18(_19, _1a) {
		var _1b = $.data(_19, "timespinner").options;
		var _1a = _1b.parser.call(_19, _1a);
		var _1c = _1b.formatter.call(_19, _1a);
		$(_19).spinner("setValue", _1c);
	}
	;
	function _1d(_1e, _1f) {
		var _20 = $.data(_1e, "timespinner").options;
		var s = $(_1e).timespinner("getValue");
		var _21 = _20.selections[_20.highlight];
		var s1 = s.substring(0, _21[0]);
		var s2 = s.substring(_21[0], _21[1]);
		var s3 = s.substring(_21[1]);
		var v = s1 + ((parseInt(s2) || 0) + _20.increment * (_1f ? -1 : 1))
				+ s3;
		$(_1e).timespinner("setValue", v);
		_13(_1e);
	}
	;
	$.fn.timespinner = function(_22, _23) {
		if (typeof _22 == "string") {
			var _24 = $.fn.timespinner.methods[_22];
			if (_24) {
				return _24(this, _23);
			} else {
				return this.spinner(_22, _23);
			}
		}
		_22 = _22 || {};
		return this.each(function() {
			var _25 = $.data(this, "timespinner");
			if (_25) {
				$.extend(_25.options, _22);
			} else {
				$.data(this, "timespinner", {
					options : $.extend({}, $.fn.timespinner.defaults,
							$.fn.timespinner.parseOptions(this), _22)
				});
			}
			_a(this);
		});
	};
	$.fn.timespinner.methods = {
		options : function(jq) {
			var _26 = jq.data("spinner") ? jq.spinner("options") : {};
			return $.extend($.data(jq[0], "timespinner").options, {
				width : _26.width,
				value : _26.value,
				originalValue : _26.originalValue,
				disabled : _26.disabled,
				readonly : _26.readonly
			});
		},
		setValue : function(jq, _27) {
			return jq.each(function() {
				_18(this, _27);
			});
		},
		getHours : function(jq) {
			var _28 = $.data(jq[0], "timespinner").options;
			var vv = jq.timespinner("getValue").split(_28.separator);
			return parseInt(vv[0], 10);
		},
		getMinutes : function(jq) {
			var _29 = $.data(jq[0], "timespinner").options;
			var vv = jq.timespinner("getValue").split(_29.separator);
			return parseInt(vv[1], 10);
		},
		getSeconds : function(jq) {
			var _2a = $.data(jq[0], "timespinner").options;
			var vv = jq.timespinner("getValue").split(_2a.separator);
			return parseInt(vv[2], 10) || 0;
		}
	};
	$.fn.timespinner.parseOptions = function(_2b) {
		return $.extend({}, $.fn.spinner.parseOptions(_2b), $.parser
				.parseOptions(_2b, [ "separator", {
					showSeconds : "boolean",
					highlight : "number"
				} ]));
	};
	$.fn.timespinner.defaults = $.extend({}, $.fn.spinner.defaults, {
		inputEvents : $.extend({}, $.fn.spinner.defaults.inputEvents, {
			click : function(e) {
				_e.call(this, e);
			},
			blur : function(e) {
				var t = $(e.data.target);
				t.timespinner("setValue", t.timespinner("getText"));
			}
		}),
		formatter : function(_2c) {
			if (!_2c) {
				return "";
			}
			var _2d = $(this).timespinner("options");
			var tt = [ _2e(_2c.getHours()), _2e(_2c.getMinutes()) ];
			if (_2d.showSeconds) {
				tt.push(_2e(_2c.getSeconds()));
			}
			return tt.join(_2d.separator);
			function _2e(_2f) {
				return (_2f < 10 ? "0" : "") + _2f;
			}
			;
		},
		parser : function(s) {
			var _30 = $(this).timespinner("options");
			var _31 = _32(s);
			if (_31) {
				var min = _32(_30.min);
				var max = _32(_30.max);
				if (min && min > _31) {
					_31 = min;
				}
				if (max && max < _31) {
					_31 = max;
				}
			}
			return _31;
			function _32(s) {
				if (!s) {
					return null;
				}
				var tt = s.split(_30.separator);
				return new Date(1900, 0, 0, parseInt(tt[0], 10) || 0, parseInt(
						tt[1], 10) || 0, parseInt(tt[2], 10) || 0);
			}
			;
			if (!s) {
				return null;
			}
			var tt = s.split(_30.separator);
			return new Date(1900, 0, 0, parseInt(tt[0], 10) || 0, parseInt(
					tt[1], 10) || 0, parseInt(tt[2], 10) || 0);
		},
		selections : [ [ 0, 2 ], [ 3, 5 ], [ 6, 8 ] ],
		separator : ":",
		showSeconds : false,
		highlight : 0,
		spin : function(_33) {
			_1d(this, _33);
		}
	});
})(jQuery);
